﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace TestImport.Model.DatabaseRepositories
{
    public abstract partial class DatabaseRepository
    {
        /*******************/
        /* Bestelling_Boek */
        /*******************/

        public DataTable Bestelling_Boek_GetData()
        {
            return defaultExecuteReaderDataTable(CommandType.Text, "SELECT bestellingItemID, bestelID, boekID, aantalBesteld, status, categorieCode, uitgeverCode, isbnNr, titel, auteur, aankoopPrijs, schoolPrijs, huurPrijs, aBoek, huurBoek, isBestelbaarBijPlato, boeksoortCode, voorraad1, voorraad2, reserve, uitgeverNaam, categorieOmschrijving FROM Bestelling_Boek");
        }

        public DataTable Bestelling_Boek_GetByBestelID(int bestelID)
        {
            DataTable dt = new DataTable();
            try
            {
                dbManager.Open();
                dbManager.CreateParameters(1);
                dbManager.AddParameters(0, "@bestelID", bestelID);
                dbManager.ExecuteReader(CommandType.Text, "SELECT bestellingItemID, bestelID, boekID, aantalBesteld, status, categorieCode, uitgeverCode, isbnNr, titel, auteur, aankoopPrijs, schoolPrijs, huurPrijs, aBoek, huurBoek, isBestelbaarBijPlato, boeksoortCode, voorraad1, voorraad2, reserve, uitgeverNaam, categorieOmschrijving FROM Bestelling_Boek WHERE (bestelID = @bestelID)");
                dt.Load(dbManager.DataReader);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            finally
            {
                dbManager.Dispose();
            }
            return dt;
        }

        public DataTable Bestelling_Boek_GetBesteldBijPlatoAantal(int boekID)
        {
            DataTable dt = new DataTable();
            try
            {
                dbManager.Open();
                dbManager.CreateParameters(1);
                dbManager.AddParameters(0, "@boekID", boekID);
                dbManager.ExecuteReader(CommandType.Text, "SELECT aantalBesteldBijPlato FROM bestellingBesteldBijPlatoAantal WHERE (boekID = @boekID)");
                dt.Load(dbManager.DataReader);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            finally
            {
                dbManager.Dispose();
            }
            return dt;
        }

        public DataTable Bestelling_Boek_GetGeleverdAantal(int boekID)
        {
            DataTable dt = new DataTable();
            try
            {
                dbManager.Open();
                dbManager.CreateParameters(1);
                dbManager.AddParameters(0, "@boekID", boekID);
                dbManager.ExecuteReader(CommandType.Text, "SELECT aantalGeleverd FROM bestellingGeleverdAantal WHERE (boekID = @boekID)");
                dt.Load(dbManager.DataReader);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            finally
            {
                dbManager.Dispose();
            }
            return dt;
        }

        public DataTable Bestelling_Boek_GetRetourNaarPlatoAantal(int boekID)
        {
            DataTable dt = new DataTable();
            try
            {
                dbManager.Open();
                dbManager.CreateParameters(1);
                dbManager.AddParameters(0, "@boekID", boekID);
                dbManager.ExecuteReader(CommandType.Text, "SELECT aantalRetourNaarPlato FROM bestellingRetourNaarPlatoAantal WHERE (boekID = @boekID)");
                dt.Load(dbManager.DataReader);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            finally
            {
                dbManager.Dispose();
            }
            return dt;
        }

    }
}
